(1) Field of the Invention
The present invention relates to an adaptive digital filter for estimating a response characteristic of a signal path by monitoring a sampled output signal of the signal path, estimating a predetermined number of filter coefficients which represent the response characteristic of the signal path, and generating an estimated output signal of the signal path using a plurality of successive sampled input signals of the signal path and the estimated filter coefficients, where the estimation is carried out so that a difference between the output signal and the estimated output signal is reduced. The present invention is applicable, in particular, to an echo canceler which cancels (suppresses) an echo signal in a telephone terminal. In telephone terminals which are each connected to a two-way transmission line in telephone network system, a voice signal propagating in one direction in the transmission line can be coupled to the other direction, for example, in two-line to four-line transforming hybrid circuits due to an impedance mismatching, or through open-type speaker to microphone paths in the telephone terminals. That is, an echo path between the two signal-propagating directions of the transmission lines exists in the telephone terminals. In the echo cancelers, an impulse response characteristic in the echo path is estimated based on an echo signal which is detected in telephone terminals to subtract the estimated signal from a signal propagating in a telephone transmission line in which the above echo signal may propagate. To carry out the above estimation, adaptive digital filters are utilized, and conventionally, the normalized least mean square (NLMS) algorithm is applied.
(2) Description of the Related Art
FIG. 1 shows a construction of an echo canceler which is provided in a telephone terminal. In FIG. 1, reference numeral 1 denotes a subscriber's terminal, 2 denotes a hybrid transformer circuit, 3 denotes a balance network, 4 denotes an adaptive digital filter, and 9 denotes a substracter. In the adaptive digital filter 4, reference numeral 5 denotes an output signal register, 6 denotes a filter coefficient register, 7 denotes a convolution calculator, and 8 denotes a filter coefficient renewing circuit. Further, X.sub.j (i) denotes an (i-1)-cycled-delayed sampled output signal where i denotes a tap number and j denotes a sample timing, S.sub.j denotes an audio input signal from the subscriber, N.sub.j denotes a noise signal, h.sub.j (i) denotes a true filter coefficient corresponding to an actual impulse response (echo path gain) which is to be estimated by the adaptive digital filter and generates an echo signal .SIGMA.h.sub.j (i)X.sub.j (i), Y.sub.j denotes a total input signal which is equal to a sum of the above audio input signal S.sub.j, the noise signal N.sub.j, and the echo signal .SIGMA.h.sub.j (i)X.sub.j (i), E.sub.j (i) denotes a residual echo, and H.sub.j (i) denotes an estimated filter coefficient corresponding to the above true filter coefficient h.sub.j (i). In the example of the echo canceler, the word "output signal" is used for indicating "a sound output from the speaker", and the word "input signal" is used for indicating "a sound input from the microphone". Therefore, the "output signal" in the echo canceler includes an input signal to an echo path, and the "input signal" in the echo canceler includes an output signal from the echo path, as shown in FIG. 1.
The output signal register 5 holds a plurality of successive sampled output signals X.sub.j (i). The filter coefficient register 7 holds the (estimated) filter coefficient H.sub.j (i) for each tap of the adaptive digital filter. The convolution calculator 7 carries out a convolution calculation using the (i-1)-cycle-delayed sampled output signals X.sub.j (i) and the filter coefficient H.sub.j (i) to obtain an estimated echo .SIGMA.H.sub.j (i)X.sub.j (i) where .SIGMA. is a summation of all the taps in the adaptive digital filter. The filter coefficient renewing circuit 8 obtains a new (estimated) filter coefficient H.sub.j+1 (m) for each tap m for the next timing j+1 in accordance with the following equation which is given by the conventional normalized least means square (NLMS) algorithm EQU H.sub.j+1 (m)=H.sub.j (m)+K.multidot.E.sub.j X.sub.j (m)/.SIGMA.X.sub.j (i).sup.2 ( 1)
where E.sub.j.denotes a residual echo which is detected in the output of the subtractor 9 at the timing j, K is a coefficient correction constant, and the summation in the norm .SIGMA.X.sub.j (i).sup.2 is carried out over all the taps in the adaptive digital filter. Note that ".SIGMA." denotes a summation of all the taps in the adaptive digital filter through this specification except when otherwise specified. Conventionally, the above norm .SIGMA.X.sub.j (i).sup.2 in the divisor is deemed to be included for suppressing influences of variations in amplitude of the output signal on the renewed filter coefficient. The substractor 9 subtracts the above estimated echo .SIGMA.H.sub.j (i)X.sub.j (i) from the total input signal Y.sub.j to obtain the residual echo E.sub.j. The residual echo E.sub.j is a remainder of the echo signal which could not be eliminated by the estimated echo .SIGMA.H.sub.j (i)X.sub.j (i) in the subtracter 9.
FIG. 2 shows a detailed construction of the output signal register 5, the filter coefficient register 6, and the convolution calculator 7. As shown in FIG. 2, the output signal register 5 comprises a plurality of delay circuits 5a, inputs the above (i-1)-cycle-delayed sampled output signal X.sub.j, and generates (m-1)-cycle-delayed output signal X.sub.j (m) where m=1 to I and I is a number of the taps in the adaptive digital filter. The filter coefficient register 6 holds filter coefficients H.sub.j (m) corresponding to the taps m=1 to I. The convolution calculator 7 comprises a plurality of multipliers 7a to obtain the multiples of the respective filter coefficients H.sub.j (i) and the corresponding (i-1)-cycle-delayed sampled output signals X.sub.j (i), and an accumulator 7b to obtain the summation .SIGMA.H.sub.j (i)X.sub.j (i) of the multiples H.sub.j (i)X.sub.j (i).
FIG. 3 is a block diagram showing the operation for obtaining an estimated filter coefficient H.sub.j+1 (m) corresponding to an m-th tap for the next sample time j+1 in the echo canceler in accordance with the normalized least mean square (NLMS) algorithm. In FIG. 3, the filter coefficient register 6, the output signal register 5, the convolution calculator 7, and the subtracter 9 are the same as FIGS. 1 and 2, and reference numeral 81 denotes a norm calculation circuit, 80 and 83 each denote a multiplier, 82 denotes a divider, and 84 denotes an adder.
The multiplier 80 is provided for multiplying the residual echo E.sub.j by the coefficient correction constant X, the norm calculation circuit 81 calculates the norm .SIGMA.X.sub.j (i).sup.2, the divider 82 divides the output of the multiplier 80 by the norm .SIGMA.X.sub.j (i).sup.2, the multiplier 83 multiplies the output of the divider 82 by the value of the (m-1)-cycle-delayed sampled output signal X.sub.j (m), and the adder 84 adds the estimated filter coefficient H.sub.j (i) at the sample time j to the output of the multiplier 83 to obtain the filter coefficient H.sub.j+1 (m) corresponding to the m-th tap for the next sample time j+1.
FIG. 4 shows the construction of the norm calculation circuit 81 in FIG. 3. In FIG. 4, the output signal register 5 is the same as FIGS. 1, 2, and 3, and reference numerals 10 and 11 each denote a square calculator, 12 denotes a subtracter, and 13 denotes an accumulator. In the accumulator 13, reference numeral 14 denotes an adder, and 15 denotes a delay circuit. The sampled output signal X.sub.j is input in parallel into the square calculator 10 to obtain an X.sub.j.sup.2 circuit, and into the output signal register 5 to obtain the abovementioned (m-1)-cycle-delayed output signal X.sub.j (m) where m=1 to I. The square calculator 11 receives the (i-1)-cycle-delayed sampled output signal X.sub.j (i) from the output signal register 5 to obtain X.sub.j (I).sup.2. The subtracter 12 subtracts the output X.sub.j (I).sup.2 of the square calculator 11 from the output X.sub.j.sup.2 =X.sub.j (1).sup.2 of the square calculator 12. The output X.sub.j.sup.2 -X.sub.j (I).sup.2 of the subtractor 10 is supplied to the accumulator 13 to obtain the accumulation of the output X.sub.j.sup.2 -X.sub.j (I).sup.2 of the subtractor 12.
Since the initial values held in the output signal register 5 are zero, the output X.sub.j (I) of the output signal register 5 is zero during the first I sample clock cycles, the output of the square calculator 11 is also zero during the first I sample clock cycles. The output T.sub.q of the accumulator 13 at the sample time q is EQU T.sub.q =X.sub.1.sup.2 +X.sub.2.sup.2 + . . . +X.sub.q.sup.2
where q.ltoreq.I. Then, when the sample time q becomes larger than I, the output X.sub.j (I) of the output signal register 5 becomes effective. For example, when q=I+1, the output of the accumulator 13 becomes ##EQU1##
Further, generally, when q&gt;I, the output of the accumulator 13 becomes ##EQU2## Namely, a summation of squares of precedingly sampled successive I output signals is output from the output signal register 5 as the norm .SIGMA.X.sub.j (i).sup.2.
Generally, regarding the convergence rate of the filter coefficient H.sub.j+1 (m) in the conventional normalized least means square (NLMS) algorithm as explained above, it is considered that the larger the coefficient correction constant value K becomes, the faster the convergence of the filter coefficient becomes and the less accurate estimation of the echo can be carried out, and the smaller the coefficient correction constant value K becomes, the slower the convergence of the filter coefficient becomes and the more accurate estimation of the echo can be carried out.
In the prior art, it is known that the value of the coefficient correction constant value K must be limited to 0&lt;K&lt;2. However, since the convergence actually becomes slow when the coefficient correction constant K exceeds one, usually, the normalized least mean square (NLMS) algorithm is carried out using the coefficient correction constant K in the range 0&lt;K.ltoreq.1.
Further, in the prior art, the residual echo is monitored, and the coefficient correction constant K is made large when it is determined that the filter coefficient is in a converging process, and the coefficient correction constant K is made small when it is determined that the filter coefficient is in a stable converged state.
In the echo canceler which operates in accordance with the above conventional normalized least mean square (NLMS) algorithm, the estimated filter coefficient greatly varies responding to an impulse input or a beginning or ending of a word, and the accuracy of the estimation is suddenly and greatly reduced. For example, generally, silent durations each existing before a consonant and continuing for about 200 msec, frequently appear in voice signals, and in response, the estimated filter coefficient greatly varies. Generally, the accuracy of the estimation is quickly reduced by these disturbances, but recovery to accurate estimation is slow.